package com.yzs.exam.utils;

import lombok.Data;
import org.modelmapper.ModelMapper;
import org.modelmapper.convention.MatchingStrategies;
import org.modelmapper.spi.MatchingStrategy;
import org.springframework.ui.Model;

import javax.jws.WebParam;

/**
 * modelMapper对象单例模式，饿汉式 -- dto工具
 * new出一个ModelMapper对象，并且调用其map方法将指定对象的值映射到另一个对象上了。
 * po(持久层对象） -- vo（值对象）
 * @author yzs
 * @create 2021-03-16 15:34
 */

public class ModelMapperSingle {
    protected final static ModelMapper modelMapper = new ModelMapper();
   //private final static ModelMapperSingle modelMapperSingle = new ModelMapperSingle();
    static {
        //true完全匹配模式
        modelMapper.getConfiguration().setFullTypeMatchingRequired(true);
        //MatchingStrategies.STRICT：严格匹配模式，避免字段名缺失被相似字段转换错误的情况。
        modelMapper.getConfiguration().setMatchingStrategy(MatchingStrategies.STRICT);
    }
    public static ModelMapper Instance() {
        return modelMapper;
    }
}
